package myList_1009.linked_list_1011;

// 这个类不会创建对象，当成 静态方法 的集合
public class TestNode {
    private static Node 创建第一条链表() {
        // [10, 20, 30, 40, 50]
        // 有 5 个元素，所以需要 5 个结点，分别使用 n1 ... n5 去代表
        Node n1 = new Node(10);
        Node n2 = new Node(20);
        Node n3 = new Node(30);
        Node n4 = new Node(40);
        Node n5 = new Node(50);

        // 使用 next 把逻辑顺序创建出来
        n1.next = n2;
        n2.next = n3;
        n3.next = n4;
        n4.next = n5;
        n5.next = null; // 这里可以不写

        // 其中 n1 是第一个结点
        return n1;  // 把第一个盒子（结点）给出去，外边的用户就可以顺着第一个盒子把所有的盒子找全
    }

    private static Node 创建第二条链表() {
        // [10, 20, 30 ]
        // 有 3 个元素，所以需要 3 个结点，分别使用 n1 ... n3 去代表
        Node n1 = new Node(10);
        Node n2 = new Node(20);
        Node n3 = new Node(30);

        // 使用 next 把逻辑顺序创建出来
        n1.next = n2;
        n2.next = n3;
        n3.next = null;

        // 其中 n1 是第一个结点
        return n1;  // 把第一个盒子（结点）给出去，外边的用户就可以顺着第一个盒子把所有的盒子找全
    }

    private static Node 创建第三条链表() {
        // []
        // 里面一个元素都没有
        // 元素的数量和结点的数量是 一一对象
        // 结点的个数也是 0 个
        return null;
    }

    public static void main(String[] args) {
        // null 代表是意思是没有
        // 由于 head 是 null，代表第一个盒子没有（null）
        // 一个盒子都没有，意味着链表中一个元素都没有
        // 所以该头节点代表的链表是空的（empty）
        Node head = 创建第三条链表();
    }
}
